Recommendation system based on neural network models to improve efficiencies in interacting with e-commerce platforms

ABSTRACT

Data for interactions performed by users through a portal page is collected. The data comprising a plurality of sequences of interactions performed by a user on representations of products displayed in the portal page. The plurality of sequences of interactions are input to train a neural network on temporal dependencies between interactions within a sequence from the plurality of sequences. The plurality of sequences are processed by the neural network through a plurality of learning layers to generate a model for product identification. Upon receiving an interaction by a first user at the portal page in relation to a product from the products and based on the model, identifying a first product from the products to be displayed in the portal page for the first user.

BACKGROUND

Enterprise platforms and systems provide services and products to endcustomers. Services and products may be directed to multiple target usergroups of the platforms and systems. For example, an e-commerce systemoffers products in different marketing segments to different usercategories to increase sales revenue. Online stores offer collections ofproducts and rely on intelligent marketing for retaining customers andoffering products to targeted customer groups. Different content inrelation to different products may be provided to different users toincrease sales revenue.

Software platforms, such as e-commerce platforms, can require asignificant amount of technical resources to support. Example technicalresources include computer processors, memory, and communicationbandwidth. The manner in which users and the number of users thatinteract with an e-commerce platform can significantly affect the loadon technical resources. For example, during periods of peak usage (e.g.,Cyber Monday, Black Friday), the number of users interacting with ane-commerce platform can significantly increase, burdening the technicalresources underlying the e-commerce platform, and, in some cases, evenrequiring additional technical resources to be brought on line. Further,interactions between a user and an e-commerce platform can beinefficient, further burdening the technical resources. For example, themore interactions a user requires with the e-commerce platform toachieve some end (e.g., identify and purchase an item), the moretechnical resources are expended.

SUMMARY

Implementations of the present disclosure are directed to improvingefficiencies in user interactions with e-commerce platforms based onproviding product recommendations. According to implementations of thepresent disclosure, the product identifications and/or recommendationsare based on a neural network model trained based on collected userinteraction data through a portal page. More particularly,implementations of the present disclosure are directed to collectingdata for interactions on products displayed at a user interface of aportal page and inputting the collected data for training a neuralnetwork on temporal dependencies between interactions within a sequenceof certain length.

In some implementations, actions include collecting data forinteractions performed by users through a portal page, the datacomprising a plurality of sequences of interactions performed by a useron representations of products displayed in the portal page; inputtingthe plurality of sequences of interactions to train a neural network ontemporal dependencies between interactions within a sequence from theplurality of sequences; processing the plurality of sequences by theneural network through a plurality of learning layers to generate amodel for product identification; and upon receiving an interaction by afirst user at the portal page in relation to a product from the productsand based on the model, identifying a first product from the products tobe displayed in the portal page for the first user. Otherimplementations of this aspect include corresponding systems, apparatus,and computer programs, configured to perform the actions of the methods,encoded on computer storage devices.

In some instances, the first product from the products to be displayedin the portal page comprises providing the interaction from the firstuser for performing machine learning prediction according to the modelas provided by the neural network, the interaction comprising a sequenceof actions performed in relation to one or more products from theproducts displayed in the portal page and evaluating the sequence ofactions corresponding to the interaction from the first user based onthe model to determine the first product.

In some instances, the plurality of sequences of interactions aredefined to have a fixed equal length for a number of interactions withina sequence, wherein the number corresponds to a sequence length valuedefined by the neural network. The interactions within a sequence fromthe plurality of sequences may correspond to a single user from theusers.

In some instances, processing the plurality of sequences by the neuralnetwork comprises initializing an embedded layer to map productidentifiers of the products from the portal page to product vector data,wherein the product vector data defines a number of products providedthrough the portal page, a dimension of the product vector data, and alength value of a sequence to be input to the neural network fortraining and generating the model for product identification; andgenerating the model for product identification, wherein the modelcomprises learning units as hidden layers for iteratively processinginput comprising sequences from the plurality of sequences.

In some instances, processing the plurality of sequences by the neuralnetwork comprises: normalizing output generated from the learning unitsat an activation layer of the neural network, wherein the normalizationis performed in a non-linear fashion to define a sum of outputprobabilities to amount to a value of 1.

In some instances, the neural network is a recurrent neural network, anda subsequent layer of the model returns an accumulated output frompreviously processed layers. The neural network comprises a filteringlayer that removes input provided for training the neural networkaccording to a configured reduction factor.

In some instances, in response to receiving the interaction by the firstuser through the portal page, displaying the first product as part ofcontent dynamically presented in the portal page.

The present disclosure also provides a computer-readable storage mediumcoupled to one or more processors and having instructions stored thereonwhich, when executed by the one or more processors, cause the one ormore processors to perform operations in accordance with implementationsof the methods provided herein.

The present disclosure further provides a system for implementing themethods provided herein. The system includes one or more processors, anda computer-readable storage medium coupled to the one or more processorshaving instructions stored thereon which, when executed by the one ormore processors, cause the one or more processors to perform operationsin accordance with implementations of the methods provided herein.

It is appreciated that methods in accordance with the present disclosurecan include any combination of the aspects and features describedherein. That is, methods in accordance with the present disclosure arenot limited to the combinations of aspects and features specificallydescribed herein, but also include any combination of the aspects andfeatures provided.

The details of one or more implementations of the present disclosure areset forth in the accompanying drawings and the description below. Otherfeatures and advantages of the present disclosure will be apparent fromthe description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 depicts an example architecture that can be used to executeimplementations of the present disclosure.

FIG. 2 depicts an example process that can be executed in accordancewith implementations of the present disclosure.

FIG. 3 depicts an example web interface of a web portal displayingproduct recommendations based on neural network according toimplementations of the present disclosure.

FIG. 4 depicts an example process that can be executed in accordancewith implementations of the present disclosure.

FIG. 5 is a schematic illustration of example computer systems that canbe used to execute implementations of the present disclosure.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

Implementations of the present disclosure are directed to providingproduct recommendations based on a neural network model trained based oncollected user interaction data through a portal page. Moreparticularly, implementations of the present disclosure are directed tocollecting data for interactions on products displayed at a userinterface of a portal page and inputting the collected data for traininga neural network on temporal dependencies between interactions within asequence of certain length.

Implementations can include actions of collecting data for interactionsperformed by users through a portal page, the data comprising aplurality of sequences of interactions performed by a user onrepresentations of products displayed in the portal page; inputting theplurality of sequences of interactions to train a neural network ontemporal dependencies between interactions within a sequence from theplurality of sequences; processing the plurality of sequences by theneural network through a plurality of learning layers to generate amodel for product identification; and upon receiving an interaction by afirst user at the portal page in relation to a product from the productsand based on the model, identifying a first product from the products tobe displayed in the portal page for the first user.

Providing recommendation for products to customers through an onlineplatform, such as an online store, may result in better positioning ofproducts towards customer's expectations and requirements. Onlineplatforms run different types of applications and services to providecustomers with expected results and answer their requests in a timelymanner. Providing products within an easier reach, for example, withfewer steps of interaction within a user interface of an online platformmay decrease the load of received interactions from users while at thesame time improve actual sales transactions executed through the onlineplatform, such as an e-commerce platform. These issues are unique toe-commerce platforms that provided on demand content to multiple userssimultaneously and content has to be loaded fast and communication withthe platform should be performed efficiently. Purchasing products from aproduct catalog and selecting a set of products to be loaded at the userinterface view for a new customer may improve efficiency of theunderlying e-commerce platform.

Implementations of the present disclosure improve efficiency ofinteraction between human users and e-commerce platforms. Ifinteractions with e-commerce platforms are efficient and do not requirenumerous loading steps of content and multiple successive processingsteps to execute a transaction, the e-commerce platform utilizes theunderlying computing resources (e.g., processors, memory) in an improvedmanner. This can be of particular concern during peak times of higherpurchase load, such as events like Cyber Monday, Christmas period, etc.Inefficient use of computing resources also results in slowercommunication with the e-commerce platform, which may result in delayedpresentation of information on the user interface. That can requireadditional resources to have to be brought online for maintaining astable performance of the e-commerce platform.

In some instances, a web portal may be configured to communicate with arecommendation system to provide input of received interactions andcorresponding executed transactions to train a recommendation system onparticular user behavior properties exhibited at the online platform.When a trained model is generated, that trained model may beincorporated into the runtime logic of a web portal, such as an onlinee-commerce store, to determine and display content at a user interfaceof the web portal that is selected based on a particular user session ofinteraction.

Determining content that is presented based on the user who is viewingand interacting with the web portal may decrease load at the underlyingsystem as searching and browsing through product at the web portal maybe improved and at the same time may result in more executed purchases.The content may be determined to include products associated with higherprobability of relevancy to the user interacting with the web portal.

FIG. 1 depicts an example architecture 100 in accordance withimplementations of the present disclosure. In the depicted example, theexample architecture 100 includes a client device 102, a network 106,and a server system 104. The server system 104 includes one or moreserver devices and databases 108 (e.g., processors, memory). In thedepicted example, a user 112 interacts with the client device 102.

In some examples, the client device 102 can communicate with the serversystem 104 over the network 106. In some examples, the client device 102includes any appropriate type of computing device such as a desktopcomputer, a laptop computer, a handheld computer, a tablet computer, apersonal digital assistant (PDA), a cellular telephone, a networkappliance, a camera, a smart phone, an enhanced general packet radioservice (EGPRS) mobile phone, a media player, a navigation device, anemail device, a game console, or an appropriate combination of any twoor more of these devices or other data processing devices. In someimplementations, the network 106 can include a large computer network,such as a local area network (LAN), a wide area network (WAN), theInternet, a cellular network, a telephone network (e.g., PSTN) or anappropriate combination thereof connecting any number of communicationdevices, mobile computing devices, fixed computing devices and serversystems.

In some implementations, the server system 104 includes at least oneserver and at least one data store. In the example of FIG. 1, the serversystem 104 is intended to represent various forms of servers including,but not limited to a web server, an application server, a proxy server,a network server, and/or a server pool. In general, server systemsaccept requests for application services and provides such services toany number of client devices (e.g., the client device 102 over thenetwork 106).

In accordance with implementations of the present disclosure, and asnoted above, the server system 104 can host an application (e.g.,provided as one or more computer-executable programs executed by one ormore computing devices) that provides services in relation to productsto end users. In some instances, the application is a web portalprovided as part of an e-commerce platform. Through the web portal,customers may preview and execute purchases of products of differentcategories and with different properties. Such a web portal may beprovided as part of an e-commerce online store for clothes, shoes,computer equipment, etc. The web portal includes a user interface whereselection of products offered by the portal may be presented based onuser interactions. The user interface may include different tools andinteraction controls to navigate between different product categoriesand select products of certain type and of certain properties. A set ofproducts may be selected to be provided at a display area of a userinterface screen currently in view of a user based on analyzing currentuser interactions based on an intelligent data model for predicting userbehavior.

In some instances, the intelligent data model may encode insight on userbehavior based on performed neural network training. The model may bebased on multiple sequences of interactions, each sequence correspondingto a different user. In this manner, the model is trained on temporaldependencies between interactions within a sequence. A recommendationsystem may be implemented to include neural network implemented logic togenerate such a model and analyze user interaction to providerecommendations for products for display at the web portal.

In some implementations, the web portal and the recommendation systemmay be hosted at the server system 104 or may be hosted at differentsystems coupled to communicate and exchange data. The web portal and therecommendation system may interact to determine relevant contentincluding products to be presented to different user based on insightgained from analyzed customer behavior and implemented into a trainedneural network model.

FIG. 2 depicts an example process 200 that can be executed in accordancewith implementations of the present disclosure. In some examples, theexample process 200 is provided using one or more computer-executableprograms executed by one or more computing devices.

At 210, data for interactions performed by users through a portal pageis collected. The data includes a plurality of sequences of interactionsperformed by a user on products displayed in the portal page.

At 220, the plurality of sequences of interactions are input to train aneural network. The neural network is trained based on such input ontemporal dependencies between interactions within a sequence from theplurality of sequences.

In some instances, the plurality of sequences of interactions aredefined to have a fixed length of a number of interactions within asequence, and to have equal length for the sequence. The length of asequence from the sequences that are provided for training the neuralnetwork may be a predefined sequence length value that is configured bythe neural network. In some instances, the length of a sequence may beadjustable and configurable.

In some instances, interactions within a sequence from the plurality ofsequences correspond to interactions performed by only one user from theusers that may interact with the portal page.

At 230, the plurality of sequences of interactions are processed by theneural network through a plurality of learning layers. A model forproduct recommendation is generated at the neural network. The model isfor identifying a product to be recommended and displayed at the portalpage.

In some instances, when the neural network processes the providedplurality of sequences of interactions, the neural network initializesan embedded layer to map product identifiers of the products from theportal page to product vector data. The product vector data defines anumber of products provided through the portal page, a dimension of theproduct vector data, and a length value of a sequence to be input to theneural network for training and generating the model for productrecommendation.

The processing of the input data at the neural network includesgenerating of a model for product recommendation. The model is a neuralnetwork model and includes learning units as hidden layers foriteratively processing input provided for processing to the neuralnetwork. The input that may be processed through the model includessequence of actions performed by a user at the portal page in relationto one or more products displayed at the user interface.

In some instances, the neural network model includes multiple layer,where a subsequent layer of the model returns an accumulated output frompreviously processed layers.

In some instances, the neural network is a recurrent neural network.

At 240, a product from the products associated with the portal page isidentified to be displayed in the portal page as a recommendation for afirst user. The recommendation for the product is provided uponreceiving of an interaction by the first user at the portal page inrelation to other products in the portal page. The recommendation isbased on the generated model at the neural network based on theperformed training.

In some instances, to identify the product for recommendation for thefirst user, the received interaction at the portal page are provided forperforming machine learning prediction according to the generated modelas provided by the neural network. The received interactions by thefirst user comprise a sequence of actions performed in relation to oneor more products displayed in the portal page. The number of actionsincluded in the sequence of actions received with the interaction may bedifferent then the length of the sequences input in the neural networkfor training.

Based on the received interaction by the first user through the portalpage and processing the interactions through the neural network model,the determined product for recommendation is displayed at the portalpage. The display of that product is performed dynamically and isincorporated in the presented content at the portal page.

FIG. 3 depicts an example web interface 300 of a web portal displayingproduct recommendations based on neural network according toimplementations of the present disclosure. The web portal is ane-commerce web portal 310 that is accessible for end users, such as user330. The web portal is running on a platform infrastructure and may becommunicatively coupled to artificial intelligence logic providingprediction services for customers' behavior based on a trained neuralnetwork model. The web portal may be the portal page as previouslydiscussed in relation to FIG. 1 and FIG. 2.

In some instances, the e-commerce web portal 310 may provide input to aneural network. The input is processed based on the intelligent logicimplemented at the neural network at multiple learning layers. Byprocessing the input through the multiple layers of the neural network,a recommendation for a product may be determined. The productrecommendation is for offering the product to the current userinteracting with the e-commerce web portal 310 as a recommendation thatis associated with higher probability of resulting at a purchasetransaction, e.g., through the e-commerce web portal 310 or through arelated system.

In some instances, a product panel 315 is displayed at a user interfaceof the e-commerce web portal 310. The product panel 315 may presentdynamic content as suggested product items to be sold to customers ofthe e-commerce web portal. The product panel 315 may be presented as adisplay area section where multiple items may be scrolled by a user topreview the whole content.

In some instances, the product panel 315 may include content thatdynamically changes based on user interactions with the e-commerce webportal 310. For example, based on a location determined for a userviewing items on the e-commerce web portal 310, the product panel 315may display a particular selection of products and incorporate them inthe user interface in form of a carousel where content is dynamicallymoving to change the displayed items. As another example, based on auser viewing three t-shirts in a row of size S, the product panel 315may include other products such as other t-shirts of size S and asweater of size S. Determination of which products to be included in theproduct panel 315 may be performed runtime and may be based on a neuralnetwork model generated based on training according to sequences ofinteractions performed by user. For example, inclusion of products atthe product panel 315 may be based on received recommendations from aneural network as discussed in relation to process 200, FIG. 2.

In some instances, the product panel 315 is a recommendation section ofa product page, where users are provided with information in form ofselectable product items. The product panel 315 includes a selection ofrelated and/or relevant products for a user 330 accessing the productpanel view. The user 330 may preview the products defined for theproduct panel 315. The user may interact with content presented on userinterface sections of pages within the e-commerce web portal 310. Theuser may review products from product categories in the web portal 310that are outside of the product panel 315.

In some instances, interactions of the user 330 with the e-commerce webportal 310 and products displayed at the e-commerce web portal 310 maybe processed by implemented logic at a product recommendation systemassociated with the e-commerce web portal 310. The processing of theinteractions may be based on processing at a neural network, such as thediscussed neural network in relation to FIG. 1 and FIG. 2, and alsofurther described below in relation to FIG. 4. The neural network may betrained to include an intelligent model that may process interactionsreceived from user 330 and determine to recommendations for products tobe presented on the user interface of the e-commerce web portal 310 foruser 330.

When the user 330 interacts with content on the e-commerce web portal310, the user 330 may be provided with additional content related torecommended products at the product panel 315. The display of therecommended product may be presented to the user 330 dynamically,without having to leave a page of the e-commerce web portal 310 that iscurrently reviewed and displayed. The recommendations may be displayedat the product panel 315 in a dynamic manner defining a new product asincluded in a currently displayed portion of the product panel 315. Insome case, the recommended products may be included within the contentfor display at the product panel 315. However, to be presented on thevisible portion of the user interface of the e-commerce web portal 310,the user 330 performs a scrolling operation to either direction (left orright) to preview all of the content of the product panel 315. As thecontent is updated based on the recommendation logic of the neuralnetwork received at the web portal 310, by scrolling between the itemsof the product panel 330 the user may preview different products assuggestions corresponding to his profile and interest.

For example, based on interaction with product A and product X (notpresented on FIG. 3 and displayed as a product at a part of the userinterface of the e-commerce web portal 310), the e-commerce web portal310 may display at the product panel 315 an additional product, productD 320 as a recommendation for user 330. The recommendation of product D320 to user 330 is determined based on the generated neural networkmodel that is trained according to collected data for interactionsperformed by multiple users through the e-commerce web portal 310. Forexample, the recommendation may be determined as discussed above inrelation to FIG. 2.

In some instances, by implementing a recommendation system in relationto the e-commerce web portal 310, a selection of products provided bythe e-commerce web portal may be targeted and presented at the productpanel 315 for display to user 330. In such manner, the selection ofproducts may be customized for the particular user 330 and his profileand behavior characteristics. When a different user logs in thee-commerce web portal 310, and start to interact with the web content,based on review of his interaction and/or his user profilecharacteristics (if such can be identified), a different set of productsmay be displayed at the product panel 315.

FIG. 4 depicts an example system 400 that can be executed in accordancewith implementations of the present disclosure. The system 400 includesa portal platform infrastructure 435 where a web portal runs. The webportal 440 provides a user interface for interaction in relation toproducts. The web portal 440 may be such as the e-commerce web portal310, FIG. 3, or the portal page discussed in relation to FIGS. 1 and 2.The user interface of the web portal 440 includes different views fordifferent users.

In some instances, the different views include different sets ofproducts that may be associated with user's roles, history, preferences,settings, configuration, etc. For example, a product list 445 may bedisplayed on the user interface of the web portal 440 to include aproduct list that is determined for user A. The product list may bedetermined to include products determined based on implementedrecommendation logic at a product recommendation system, such as productrecommendation system 410. The product recommendation system 410 may beimplemented to perform training of a data model to provide productrecommendations based on user interactions.

In some instances, the product recommendation system 410 may beimplemented to perform the process as described in relation to FIG. 2.The product recommendation system 410 includes a neural network 415 thatis trained based on training data 450 to generate a model for productrecommendation.

In some instances, data is collected for interactions performed by usersthrough the web portal 440, and such data is stored as input 455 to beprovided for training at a neural network. The input 455 is datacollected from interactions performed by users and may be organized informs of multiple sequences of interactions, where one sequencecorrespond to one user from the users. The sequences are defined withfixed length and correspond to different types of interaction eventsperformed by a user. For example, a sequence of interactions performedby user A may be five consecutive clicking operations on differentproducts presented on the user interface of the web portal 440. Theinteractions within a sequence may correspond also to click operationsthat define purchase transactions, or viewing request, or request forincluding a product in a purchase bag. The interactions collected fordifferent user may represent customer behavior in purchasing productsthrough a web portal.

In some instances, different users may have different tendency ofreviewing products or different variants of a single product (i.e., oneor more properties, such as color and size, of a given product, such asa T-shirt). For example, a user A may be reported to have interactedwith a given product, such as a T-shirt, in the following order—firstviewing a T-shirt of size M, color blue, then viewing a T-shirt of sizeM, color red, then viewing the same T-shirt as the one with color red,but in size S, and then including that T shirt in color red and size Sin a purchase bag, together with a brawn hoody of size M.

In some instances, the input 455 provided to the product recommendationsystem 410 is in form of a data matrix of size (N×M), where M is thesize of a number of interactions collected for a single sequence, and Nis the number of multiple sequences that are input to the productrecommendation system for the neural network training.

The input 455 is provided to train the neural network on temporaldependencies between interactions within a sequence from the multiplesequences. In some instances the input 455 may be provided in full orjust a portion of the collected matrix of multiple sequence ofinteractions may be input for the neural network training. When theinput 455 is provided to the product recommendation system 410, theinput is processes through a plurality of learning layers defined at theneural network 415. Based on processing the multiple sequences ofinteractions at the different layers, a model for product recommendationis generated.

In some instances, when the web portal 440 provides data forinteractions performed by a first user at the user interface of the webportal 440, the received interaction data is processed by the generateddata. The received interaction data may be related to one or moreproducts provided on one or multiple (different) display screens at theuser interface of the web portal 440. Based on the neural network modelat the product recommendation system 410, a first product from theproducts related to the web portal 440 may be determined as relevant forrecommendation to the first user. Such a determination of the firstproduct may be interpreted as a product recommendation for display ofinformation in relation to the first product at the web portal 440 as arecommendation to the first user. The first product is recommended tothe first user based on the implemented logic at the generated modelbased on the performed training. The first product may be associatedwith higher probability of resulting in a purchase transaction at theweb portal 440 based on insight from the training data 450. Therefore,products with higher chances of resulting in sales revenue generatedthrough the web portal are provided to the immediate attention of theuser, for example at a product panel, such as the product panel 315 atFIG. 3.

In some instances, the provided input 455 for training of the neuralnetwork 415 is processed at multiple layers including an embedded layer420, a long short-term model (LSTM) units layer, and an activation layer430. Further, the neural network 415 may include additional layers, suchas a filtering layer (not presented on FIG. 4).

In some instances, the model generated through the neural network 415 isa sequential model that may be represented as a linear stack of layers.The generated model is built by adding layers, for example, by importingmodules by invoking a neural network application programing interface(API), for example, Keras. For example, a sequential model may becreated within a Keras LSTM model. As the model is sequential, a shapeof a first layer may be specified and the remaining layers can beinferred automatically.

In some instances, the number of sequences provided as input to theneural network 415 is processed by the embedded layer 420. The embeddedlayer maps product identifiers of the products from the web portal togenerate product vector data. The product identifiers correspond toproducts associated with the interactions defined in a sequence ofinteractions. The input data is processed in a sequence by sequencemanner. A first sequence may be associated with multiple products.Product vector data is generated to define the number of productsidentified through the interactions, a dimension of the product vectordata, and a length value of the sequence.

At the embedded layer, product vectors of specified length are generatedand an embedded layer is added to the model. For example, Kerasembedding may be implemented to produce such vectors by using thefollowing function (1):

Embedding(catalog_size,desired_dimenstion_of_vector,length_of_sequence)  (1)

The function (1) converts product identifiers (IDs) (referenced byintegers) into meaningful embedding vectors or simply the vectors. Theembedded layer may be initialized and added to the model according toinvoking function (2):

model.add(Embedding(10000,250,3))  (2)

In some instances, a model is generated through processing at the LSTMunits layer 425. The LSTM units layer comprise learning units as hiddenlayers for iteratively processing input including the sequences from theinput 455. The number of units within the LSTM Units layer 425 may bespecified, for example, by invoking following Keras functions (3) and(4):

LSTM(hidden layer size,return sequences=True)  (3)

model.add(LSTM(hidden layer size,return sequences=True))  (4)

At function (3), the return_sequences parameter is set to value of Truethat ensures that LSTM units returns all of the outputs from theunrolled LSTM cell through time. If the return_sequences parameter isset to value of False, then LSTM cell will only return the output of alast step.

In some instances, the output generated from the LSTM units layer 425may be input into a filtering layer to improve results provided based onthe learning model by excluding input randomly from the trainingprocess. For example, the filtering layer may be instantiated betweenthe LSTM units layer 425 and the activation layer 430. The filteringlayer may be instantiated through invoking a dropout Keras function,such as function (5) below:

model.add(Dropout(0.5))  (5)

The Dropout layer works by probabilistically removing inputs to a givenlayer, which may be input variables in a data sample or activations froma previous layer. By utilizing the dropout layer to randomly filter partof the input, the neural network model is generated as a more robustmodel to respond to received inputs for processing. By applying adropout layer, bias in customer's behavior towards particular productsor preferences may be removed.

The input parameter to formula (5) for the Dropout layer is theprobability of setting input to zero. In the formula (5), theprobability is set to 50% chance of setting inputs to zero, for example,ignoring half of the input at random occasions.

The neural network also includes the activation layer 430 as part of themodel generation. At the activation layer, received data from a previouslayer is normalized in a a non-linear manner to define a sum of outputprobabilities to amount to a value of 1.

In some instances, the activation layer may be a softmax activationlayer of Keras to normalize the output. In the softmax layer, the outputis normalized in a non-linear fashion so that the sum of outputprobabilities is equals to 1 according to function (6) below:

model.add(Activation(‘softmax’))  (6)

The LSTM model cannot determine which is the class of the inputreceived, and therefore calculates probability values for each class anduse softmax to normalize it. The output probabilities per class are inthe range 0 to 1 and the total sum is 1.

In some instances, based on the generated model at the neural network415, input provided from the web portal 440 in relation to interactionsperformed by a current user navigating within the display of products atthe user interface of the web portal 440 is evaluated. According to thelogic at the neural network model, a recommendation of a product that iswith higher probability of a selection that may result in a purchasethrough the web portal 440 may be provided. The recommendation may beprovided in form of a product identifier corresponding to the productdetermined through the neural network trained model.

Based on received recommendation from the product recommendation system410, the user interface of the web portal 440 may include in a displayarea information for the recommended product. For example, therecommended product may be displayed at a product panel such as theproduct panel 315, FIG. 3.

Referring now to FIG. 5, a schematic diagram of an example computingsystem 500 is provided. The system 500 can be used for the operationsdescribed in association with the implementations described herein. Forexample, the system 500 may be included in any or all of the servercomponents discussed herein. The system 500 includes a processor 510, amemory 520, a storage device 530, and an input/output device 540. Thecomponents 510, 520, 530, 540 are interconnected using a system bus 550.The processor 510 is capable of processing instructions for executionwithin the system 500. In some implementations, the processor 510 is asingle-threaded processor. In some implementations, the processor 510 isa multi-threaded processor. The processor 510 is capable of processinginstructions stored in the memory 520 or on the storage device 530 todisplay graphical information for a user interface on the input/outputdevice 540.

The memory 520 stores information within the system 500. In someimplementations, the memory 520 is a computer-readable medium. In someimplementations, the memory 520 is a volatile memory unit. In someimplementations, the memory 520 is a non-volatile memory unit. Thestorage device 530 is capable of providing mass storage for the system500. In some implementations, the storage device 530 is acomputer-readable medium. In some implementations, the storage device530 may be a floppy disk device, a hard disk device, an optical diskdevice, or a tape device. The input/output device 540 providesinput/output operations for the system 500. In some implementations, theinput/output device 540 includes a keyboard and/or pointing device. Insome implementations, the input/output device 540 includes a displayunit for displaying graphical user interfaces.

The features described can be implemented in digital electroniccircuitry, or in computer hardware, firmware, software, or incombinations of them. The apparatus can be implemented in a computerprogram product tangibly embodied in an information carrier (e.g., in amachine-readable storage device, for execution by a programmableprocessor), and method steps can be performed by a programmableprocessor executing a program of instructions to perform functions ofthe described implementations by operating on input data and generatingoutput. The described features can be implemented advantageously in oneor more computer programs that are executable on a programmable systemincluding at least one programmable processor coupled to receive dataand instructions from, and to transmit data and instructions to, a datastorage system, at least one input device, and at least one outputdevice. A computer program is a set of instructions that can be used,directly or indirectly, in a computer to perform a certain activity orbring about a certain result. A computer program can be written in anyform of programming language, including compiled or interpretedlanguages, and it can be deployed in any form, including as astand-alone program or as a module, component, subroutine, or other unitsuitable for use in a computing environment.

Suitable processors for the execution of a program of instructionsinclude, by way of example, both general and special purposemicroprocessors, and the sole processor or one of multiple processors ofany kind of computer. Generally, a processor will receive instructionsand data from a read-only memory or a random access memory or both.Elements of a computer can include a processor for executinginstructions and one or more memories for storing instructions and data.Generally, a computer can also include, or be operatively coupled tocommunicate with, one or more mass storage devices for storing datafiles; such devices include magnetic disks, such as internal hard disksand removable disks; magneto-optical disks; and optical disks. Storagedevices suitable for tangibly embodying computer program instructionsand data include all forms of non-volatile memory, including by way ofexample semiconductor memory devices, such as EPROM, EEPROM, and flashmemory devices; magnetic disks such as internal hard disks and removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,ASICs (application-specific integrated circuits).

To provide for interaction with a user, the features can be implementedon a computer having a display device such as a CRT (cathode ray tube)or LCD (liquid crystal display) monitor for displaying information tothe user and a keyboard and a pointing device such as a mouse or atrackball by which the user can provide input to the computer.

The features can be implemented in a computer system that includes aback-end component, such as a data server, or that includes a middlewarecomponent, such as an application server or an Internet server, or thatincludes a front-end component, such as a client computer having agraphical user interface or an Internet browser, or any combination ofthem. The components of the system can be connected by any form ormedium of digital data communication such as a communication network.Examples of communication networks include, for example, a LAN, a WAN,and the computers and networks forming the Internet.

The computer system can include clients and servers. A client and serverare generally remote from each other and typically interact through anetwork, such as the described one. The relationship of client andserver arises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

In addition, the logic flows depicted in the figures do not require theparticular order shown, or sequential order, to achieve desirableresults. In addition, other steps may be provided, or steps may beeliminated, from the described flows, and other components may be addedto, or removed from, the described systems. Accordingly, otherimplementations are within the scope of the following claims.

A number of implementations of the present disclosure have beendescribed. Nevertheless, it will be understood that variousmodifications may be made without departing from the spirit and scope ofthe present disclosure. Accordingly, other implementations are withinthe scope of the following claims.

What is claimed is:
 1. A computer-implemented method, the method beingexecuted by one or more processors and comprising: collecting data forinteractions performed by users through a portal page, the datacomprising a plurality of sequences of interactions performed by a useron representations of products displayed in the portal page; inputtingthe plurality of sequences of interactions to train a neural network ontemporal dependencies between interactions within a sequence from theplurality of sequences; processing the plurality of sequences by theneural network through a plurality of learning layers to generate amodel for product identification; and upon receiving an interaction by afirst user at the portal page in relation to a product from the productsand based on the model, identifying a first product from the products tobe displayed in the portal page for the first user.
 2. The method ofclaim 1, wherein identifying the first product from the products to bedisplayed in the portal page comprises: providing the interaction fromthe first user for performing machine learning prediction according tothe model as provided by the neural network, the interaction comprisinga sequence of actions performed in relation to one or more products fromthe products displayed in the portal page; and evaluating the sequenceof actions corresponding to the interaction from the first user based onthe model to determine the first product.
 3. The method of claim 1,wherein the plurality of sequences of interactions are defined to have afixed equal length for a number of interactions within a sequence,wherein the number corresponds to a sequence length value defined by theneural network.
 4. The method of claim 1, wherein interactions within asequence from the plurality of sequences correspond to a single userfrom the users.
 5. The method of claim 1, wherein processing theplurality of sequences by the neural network comprises: initializing anembedded layer to map product identifiers of the products from theportal page to product vector data, wherein the product vector datadefines a number of products provided through the portal page, adimension of the product vector data, and a length value of a sequenceto be input to the neural network for training and generating the modelfor product identification; and generating the model for productidentification, wherein the model comprises learning units as hiddenlayers for iteratively processing input comprising sequences from theplurality of sequences.
 6. The method of claim 5, wherein processing theplurality of sequences by the neural network comprises: normalizingoutput generated from the learning units at an activation layer of theneural network, wherein the normalization is performed in a non-linearfashion to define a sum of output probabilities to amount to a valueof
 1. 7. The method of claim 5, wherein the neural network is arecurrent neural network, and a subsequent layer of the model returns anaccumulated output from previously processed layers.
 8. The method ofclaim 1, wherein the neural network comprises a filtering layer thatremoves input provided for training the neural network according to aconfigured reduction factor.
 9. The method of claim 1, furthercomprising: in response to receiving the interaction by the first userthrough the portal page, displaying the first product as part of contentdynamically presented in the portal page.
 10. A non-transitorycomputer-readable storage medium coupled to one or more processors andhaving instructions stored thereon which, when executed by the one ormore processors, cause the one or more processors to perform operations,the operations comprising: collecting data for interactions performed byusers through a portal page, the data comprising a plurality ofsequences of interactions performed by a user on representations ofproducts displayed in the portal page; inputting the plurality ofsequences of interactions to train a neural network on temporaldependencies between interactions within a sequence from the pluralityof sequences; processing the plurality of sequences by the neuralnetwork through a plurality of learning layers to generate a model forproduct identification; and upon receiving an interaction by a firstuser at the portal page in relation to a product from the products andbased on the model, identifying a first product from the products to bedisplayed in the portal page for the first user.
 11. The computerreadable medium of claim 10, wherein the instructions to identify thefirst product from the products to be displayed in the portal pagefurther comprise instructions which when executed by the one or moreprocessors, cause the one or more processors to perform operationscomprising: providing the interaction from the first user for performingmachine learning prediction according to the model as provided by theneural network, the interaction comprising a sequence of actionsperformed in relation to one or more products from the productsdisplayed in the portal page; and evaluating the sequence of actionscorresponding to the interaction from the first user based on the modelto determine the first product.
 12. The computer readable medium ofclaim 10, wherein the plurality of sequences of interactions are definedto have a fixed equal length for a number of interactions within asequence, wherein the number corresponds to a sequence length valuedefined by the neural network, and wherein interactions within asequence from the plurality of sequences correspond to a single userfrom the users.
 13. The computer readable medium of claim 10, whereinthe instructions to process the plurality of sequences by the neuralnetwork further comprise instructions which when executed by the one ormore processors, cause the one or more processors to perform operationscomprising: initializing an embedded layer to map product identifiers ofthe products from the portal page to product vector data, wherein theproduct vector data defines a number of products provided through theportal page, a dimension of the product vector data, and a length valueof a sequence to be input to the neural network for training andgenerating the model for product identification; and generating themodel for product identification, wherein the model comprises learningunits as hidden layers for iteratively processing input comprisingsequences from the plurality of sequences.
 14. The computer readablemedium of claim 10, wherein the instructions to process the plurality ofsequences by the neural network further comprise instructions which whenexecuted by the one or more processors, cause the one or more processorsto perform operations comprising: normalizing output generated from thelearning units at an activation layer of the neural network, wherein thenormalization is performed in a non-linear fashion to define a sum ofoutput probabilities to amount to a value of 1, wherein the neuralnetwork is a recurrent neural network, and a subsequent layer of themodel returns an accumulated output from previously processed layers,and wherein the neural network comprises a filtering layer that removesinput provided for training the neural network according to a configuredreduction factor
 16. The computer readable medium of claim 10, furtherstoring instructions which when executed by the one or more processors,cause the one or more processors to perform operations comprising: inresponse to receiving the interaction by the first user through theportal page, displaying the first product as part of content dynamicallypresented in the portal page.
 17. A system, comprising: a computingdevice; and a computer-readable storage device coupled to the computingdevice and having instructions stored thereon which, when executed bythe computing device, cause the computing device to perform operations,the operations comprising: collecting data for interactions performed byusers through a portal page, the data comprising a plurality ofsequences of interactions performed by a user on representations ofproducts displayed in the portal page; inputting the plurality ofsequences of interactions to train a neural network on temporaldependencies between interactions within a sequence from the pluralityof sequences; processing the plurality of sequences by the neuralnetwork through a plurality of learning layers to generate a model forproduct identification; and upon receiving an interaction by a firstuser at the portal page in relation to a product from the products andbased on the model, identifying a first product from the products to bedisplayed in the portal page for the first user.
 18. The system of claim17, wherein the instructions to identify the first product from theproducts to be displayed in the portal page comprises instructions whichwhen executed by the computing device, cause the computing device toperform operations comprising: providing the interaction from the firstuser for performing machine learning prediction according to the modelas provided by the neural network, the interaction comprising a sequenceof actions performed in relation to one or more products from theproducts displayed in the portal page; and evaluating the sequence ofactions corresponding to the interaction from the first user based onthe model to determine the first product, wherein the plurality ofsequences of interactions are defined to have a fixed equal length for anumber of interactions within a sequence, wherein the number correspondsto a sequence length value defined by the neural network, and whereininteractions within a sequence from the plurality of sequencescorrespond to a single user from the users.
 19. The system of claim 17,wherein the instructions to process the plurality of sequences by theneural network comprises instructions which when executed by thecomputing device, cause the computing device to perform operationscomprising: initializing an embedded layer to map product identifiers ofthe products from the portal page to product vector data, wherein theproduct vector data defines a number of products provided through theportal page, a dimension of the product vector data, and a length valueof a sequence to be input to the neural network for training andgenerating the model for product identification; generating the modelfor product identification, wherein the model comprises learning unitsas hidden layers for iteratively processing input comprising sequencesfrom the plurality of sequences; and normalizing output generated fromthe learning units at an activation layer of the neural network, whereinthe normalization is performed in a non-linear fashion to define a sumof output probabilities to amount to a value of 1, wherein the neuralnetwork is a recurrent neural network, and a subsequent layer of themodel returns an accumulated output from previously processed layers,and wherein the neural network comprises a filtering layer that removesinput provided for training the neural network according to a configuredreduction factor.
 20. The system of claim 17, wherein thecomputer-readable storage device includes further instructions whichwhen executed by the computing device, cause the computing device toperform operations comprising: in response to receiving the interactionby the first user through the portal page, displaying the first productas part of content dynamically presented in the portal page.